package com.vast.admin.api.entity;

import com.vast.admin.api.BestsignOpenApi;
import lombok.Data;

@Data
public class UploadCatalogContract {

    /**
     * 用户帐号
     * 必须要指定一个用户帐号作为操作者
     */
    private String senderAccount = BestsignOpenApi.account;

    /**
     * 目录名称
     * 目录名称，取自【8.1 创建合同目录】时填写的catalogName
     */
    private String catalogName;

    /**
     * 文件编号
     * 支持添加已经上传过的文件，如果是通过fid添加，则不需要参数“fmd5，fname，ftype，fpages，fdata”。
     */
    private String fid;

    /**
     * 合同文件标题
     * 每个合同文件的标题，在同一个目录下的合同标题不得重复。一般是“XXX协议”、“XXX授权书”、“XXX”
     */
    private String title;

    /**
     * 文件md5值
     * 例如：
     *  FileInputStream file = new FileInputStream("d: \\test\\接口系统.pdf");
     *  byte[] bdata = IOUtils.toByteArray(file);
     *  String fmd5 = DigestUtils.md5Hex(bdata);
     */
    private String fmd5;

    /**
     * 文件名
     */
    private String fname;

    /**
     * 文件类型 如PDF, docx, png等
     */
    private String ftype = "pdf";

    /**
     * pdf文件总页数
     */
    private String fpages;

    /**
     * 文件数据，base64编码
     * 例如：
     *      FileInputStream file = new FileInputStream("d: \\test\\接口系统.pdf");
     *      byte[] bdata = IOUtils.toByteArray(file);
     *      String fdata =Base64.encodeBase64String(bdata);
     */
    private String fdata;

    /**
     * 合同签署的到期时间
     * 合同必须在指定的到期时间之前完成签署，一旦过期则此合同将无法被签署。
     * 格式为秒级的unix时间戳，如希望“2017/12/30 10:21:52”到期，则设置为“1514600512”；
     */
    private String expireTime;

    /**
     * 合同描述 可为空
     */
    private String description;
}
